More Related Content
Similar to PLNOG 6: Bartłomiej Anszperger - Multicasty - zastosowanie i działanie (20)
PLNOG 6: Bartłomiej Anszperger - Multicasty - zastosowanie i działanie
- 2. Agenda
Po co nam w ogóle ten cały mutlicast? ;-)
Podstawy technologii mutlicast
Protokoły PIM
Punkty Rendezvous (RP)
2
© 2010 Cisco Systems, Inc. All rights reserved. Cisco Public
Punkty Rendezvous (RP)
MPLS a Multicast
Mulitcast w praktyce – czyli co warto robić a o czym
zapomnieć
- 3. Po co nam w ogóle
ten cały mutlicast?
3
© 2010 Cisco Systems, Inc. All rights reserved. Cisco Public
ten cały mutlicast?
- 4. Ruch typu Unicast a Multicast
Serwer
Router
Unicast
Multicast
Ilość strumieni
4
© 2010 Cisco Systems, Inc. All rights reserved. Cisco Public
Serwer
RouterMulticast:
Bezpołączeniowy tryb transmisji danych:
bazuje na ruchu UDP
brak gwarancji dostarczenia pakietów do odbiorców (best effort delivery)
brak mechanizmów unikania natłoku
Możliwość pojawienia się zduplikowanych pakietów IP, brak gwarancji kolejności dostarczenia
pakietów (out of order delivery)
Konieczność sygnalizacji chęci odbioru tego typu ruchu
Ograniczenie powielania ruchu poprzez wyznaczenie drzewa dystrybucyjnego którego korzeniem
jest źródło
- 5. 10.1.1.1
Join
A
Mechanizm Reverse Path Forwarding
Sprawdzenie RPF
Bazuje na adresie źródła multicastowego
Znajdź najlepszą drogę w tablicy
routingu do źródła
Przez znaleziony interfejs wyślij
wiadomość PIM Join w kierunku źródła
ŹR
5
© 2010 Cisco Systems, Inc. All rights reserved. Cisco Public
R1
C
D
E1
E2 Unicast Route Table
Network Interface
10.1.0.0/24 E0
Join
B
E0
E
wiadomość PIM Join w kierunku źródła
Wiadomość ta jest przesyłana przez
wszystkie routery aż do źródła tworząc
drzewo dystrybucyjne
Ruch mulitcastowy jest przesyłany
wzdłuż gałęzi powstałego drzewa
Dla każdego routera, ruch multicastowy
jest przesyłany dalej tylko i wyłącznie
jeśli został odebrany na interfejsie RPF
- 6. A
10.1.1.1
Mechanizm Reverse Path Forwarding
Sprawdzenie RPF
Co jeśli mamy kilka ścieżek o
równym koszcie prowadzących
do źródła?
– nie możemy użyć obu!
ŹR
6
© 2010 Cisco Systems, Inc. All rights reserved. Cisco Public
R1
B C
D E
E1E0
E2Unicast Route Table
Network Intfc Nxt-Hop
10.1.0.0/24 E0 1.1.1.1
10.1.0.0/24 E1 1.1.2.1
1.1.2.11.1.1.1 Join
F
– nie możemy użyć obu!
„Tie-breaker”
– użyj najwyższego adresu IP
- 8. Drzewa dystrybucyjne
Źródło 1 Notacja: (*, G)
* = Wszystkie źródła
G = Grupa
Źródło 2
„Drzewo współdzielone”
8
© 2010 Cisco Systems, Inc. All rights reserved. Cisco Public
Odbiorca 1
B
E
A F
C
Odbiorca 2
(RP) PIM Rendezvous Point
Drzewo współdzielone
Drzewo źródłowe
D (RP)
- 9. Drzewa dystrybucyjne
Drzewa najkrótszej ścieżki/źródłowe
– zużywają więcej pamięci O (S x G), ale zapewniają
optymalną ścieżkę do źródła sygnału multicastowego,
minimalizując opóźnienia
– wiadomości kontrolne PIM są wysyłane na adres źródła
Drzewa współdzielone
9
© 2010 Cisco Systems, Inc. All rights reserved. Cisco Public
Drzewa współdzielone
– zużywają mniej pamięci O(G), ale ruch jest przesyłany mniej
optymalna ścieżką wprowadzając dodatkowe opóźnienia
– wiadomości kontrolne PIM są wysyłane na adres RP
W każdym przypadku drzewa budowane są za
pomocą wiadomości PIM Join/Prune
- 10. Przesyłanie ruchu multicast
„Multicast Routing is backwards from Unicast Routing”
Dla ruchu typu unicast transmisja odbywa się na podstawie informacji o
docelowym adresie IP
– adres ten jednoznacznie determinuje miejsce wysłania pakietu (interfejs, adres
następnego routera)
– przesyłanie odbywa się w trybie „hop-by-hop”
10
© 2010 Cisco Systems, Inc. All rights reserved. Cisco Public
Dla ruchu mutlicast istotny jest również adres źródła pakietu:
– docelowy adres IP nie wskazuje jednoznacznie gdzie wysłać pakiet
– przesyłanie jest zorientowane połączniowo – odbiorcy muszą się najpierw
„podłączyć” do odpowiedniego drzewa multicast’owego
– algorytm budowy takich drzew oparty jest o specjalny protokół (np. PIM) i
wykorzystuje informacje z tablicy routingu oraz mechanizm RPF (Reverse Path
Forwarding)
– drzewa dystrybucyjne umożliwiają stwierdzenie, gdzie należy przesyłać ruch
multicastowy dla danej grupy i są budowane w sposób dynamiczny
- 11. Gdzie możemy zastosować multicast?
Dowolna aplikacja z wieloma odbiorcami
– jeden do wielu, wielu do wielu
Dystrybucja „na żywo” sygnału video
Systemy pracy grupowej
Aplikacje dostarczające dane w sposób periodyczny – technologia “push”
0
30
60
2008 2009 2010 2011 2012 2013
Exabytes
permonth
Mobility
Business Internet
Business IP WAN
Consumer Internet
Consumer IPTV/CATV
11
© 2010 Cisco Systems, Inc. All rights reserved. Cisco Public
Aplikacje dostarczające dane w sposób periodyczny – technologia “push”
– notowania giełdowe, wyniki sportowe, gazety, ogłoszenia
Replikacja serwerów/serwisów
Redukcja zużycia zasobów sieci
– więcej niż wiele połączeń typu punkt-punkt
Wykrywanie zasobów sieciowych np. sąsiednich routerów
Rozproszone, interaktywne symulacje (DIS - distributed interactive simulation)
– gry wojenne
– wirtualna rzeczywistość
- 13. Komponenty sieci multicast
ISP B
Źródło multicast
Y
ISP A
Źródło multicast
X
ISP B
IGMP PIM-SM: ASM,
IGMP Snooping
PIM Snooping MBGP
MSDP
ISP A
DR
DR
RP
RP
13
© 2010 Cisco Systems, Inc. All rights reserved. Cisco Public
„Campus Multicast”
– Stacje końcowe (do routerów)
• IGMP
– Przełączniki L2 (optymalizacja L2)
• IGMP snooping i PIM snooping
– Routery (protokół przesyłania
multicast’u)
• PIM sparse mode lub bidirectional PIM
„Interdomain Multicast”
– Routing ruchu multicast pomiędzy
domenami IP
• MBGP
– Wykrywanie źródeł multicast’owych
• MSDP z PIM-SM
– Source Specific Multicast
• SSM
IGMP PIM-SM: ASM,
SSM, BiDir
MVPN
DR
- 14. Koncepcja grupy multicastowej IP
Jeśli wysyłasz ruch na
Musisz być członkiem
grupy by odbierać dane
dla tej grupy
Członek
Grupy 3
Nadawca i Odbiorca
Nadawca
14
© 2010 Cisco Systems, Inc. All rights reserved. Cisco Public
Jeśli wysyłasz ruch na
adres grupy to wszyscy
członkowie danej grupy
otrzymują te dane
Nie musisz należeć do
danej grupy by móc
nadawać dane do jej
członków
Nie należy do
grupy
B
E
A D
C
Członek
Grupy 2
Członek
Grupy 1
Odbiorca Odbiorca
- 15. 32 Bity
28 Bitów
1110
Adresacja ruchu multicast – warstwa 2
Jakiego adresu MAC użyć dla danej grupy?
239.255.0.1 224.1.1.1
224.129.1.1
32–adresy IP Multicast
15
© 2010 Cisco Systems, Inc. All rights reserved. Cisco Public
25 Bitów 23 Bity
48 Bitów
01-00-5e-7f-00-01
5 Bitów
Straconych
239.255.0.1 224.129.1.1
225.1.1.1
225.129.1.1
.
.
.
238.1.1.1
238.129.1.1
239.1.1.1
239.129.1.1
0x0100.5E01.0101
1–adres multicast MAC
Uwaga: adresy 32 grup
multicastowych są mapowane
do tego samego adresu MAC
- 16. Multicast Addressing
Nagłówek IPv4
Identification Flags Fragment Offset
Version IHL Type of Service Total Length
Adresacja ruchu multicast w sieci IPv4
16
© 2010 Cisco Systems, Inc. All rights reserved. Cisco Public
Options Padding
Time to Live Protocol Header Checksum
Source Address
Destination AddressDestination
Source
224.0.0.0 - 239.255.255.255 (Klasa D) - zakres adresacji dla grup
Cel
1.0.0.0 - 223.255.255.255 (dowolny adres z klas A, B, C)
Źródło
- 17. Adresacja ruchu multicast - Klasa D
Klasa D: 224/4 = 224.0.0.0 - 239.255.255.255
Zarezerwowane adresy o znaczeniu lokalnym (link-local)
– 224.0.0.0–224.0.0.255
– Pakiety zawsze wysyłane z wartością TTL (time to live) = 1
– Przykłady
• 224.0.0.1 wszystkie systemy w danej podsieci
• 224.0.0.2 wszystkie routery w danej podsieci
17
© 2010 Cisco Systems, Inc. All rights reserved. Cisco Public
• 224.0.0.5 wszystkie routery OSPF
• 224.0.0.13 wszystkie routery PIMv2
• 224.0.0.22 IGMPv3
Inne zarezerwowane adresy
– 224.0.1.0–224.0.1.255
– Pakiety transmitowane z wartością TTL > 1
– Przykłady
• 224.0.1.1 NTP (Network Time Protocol)
• 224.0.1.32 Mtrace
• 224.0.1.78 Tibco Multicast1
- 18. Adresacja ruchu multicast - Klasa D
Zakres typu „administratively scoped addresses”
– 239.0.0.0–239.255.255.255
– zakres do prywatnego użytku
• podobny do zakresów opisanych w RFC1918 dla adresów typu unicast
• nie używany w globalnej sieci Internet
Zakres dla SSM (Source Specific Multicast)
– 232.0.0.0–232.255.255.255
18
© 2010 Cisco Systems, Inc. All rights reserved. Cisco Public
– 232.0.0.0–232.255.255.255
– planowany do wykorzystania dla transmisji internetowych
GLOP - RFC 2770
– 233.0.0.0–233.255.255.255
– Zapewnia unikalny zakres (/24) adresów grupwych bazujących na numerze
autonomicznym (AS – autonomus system) nadawcy
0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1 2 3 4 5 6 7 8 9 0 1
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
| 233 | 16 bits AS | local bits |
+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+-+
- 19. H2
Protokół IGMPv3
Subskrypcja do grupy
H2
Group: 224.1.1.1
Exclude: <puste>
v3 Report
(224.0.0.22)
H1 H3
1.1.1.10 1.1.1.11 1.1.1.12
19
© 2010 Cisco Systems, Inc. All rights reserved. Cisco Public
Internet Group Management Protocol (IGMP) służy do komunikacji
pomiędzy odbiorcami a routerami celem ustalenia przynależności
odbiorców do grup
Odbiorca rejestrujący się do grupy wysyła wiadomość IGMPv3
Report na adres 224.0.0.22
Exclude: <puste>(224.0.0.22)
1.1.1.1
rtr-a
- 20. Protokół IGMPv3
Subskrypcja do grupy i konkretnego źródła
H2H2H1 H3
1.1.1.10 1.1.1.11 1.1.1.12
Group: 224.1.1.1
Include: 10.0.0.1
v3 Report
(224.0.0.22)
20
© 2010 Cisco Systems, Inc. All rights reserved. Cisco Public
Wiadomość IGMPv3 Report zawiera wymienione konkretne źródła,
od których odbiorca chciałby wyłącznie odbierać ruch
1.1.1.1
rtr-a
Include: 10.0.0.1(224.0.0.22)
- 21. Protokół IGMPv3
Sprawdzanie stanu członków grupy
1.1.1.10 1.1.1.11 1.1.1.12
H1 H2 H3
v3 Report
(224.0.0.22)
v3 Report
(224.0.0.22)
v3 Report
(224.0.0.22)
21
© 2010 Cisco Systems, Inc. All rights reserved. Cisco Public
Query1.1.1.1
Router wysyła cyklicznie wiadomości typu Query na adres 224.0.0.1
Wszyscy odbiorcy IGMPv3 odsyłają wiadomość IGMP Membership
Report z pełną listą grup, do której są zarejestrowani
(224.0.0.22) (224.0.0.22)(224.0.0.22)
- 23. Stan protokołu PIM
Jest to stan grup multicastowych w rozumieniu
routera, na którym wykonywane jest polecenie
Reprezentowany przez wpisy w tablicy routingu
multicastowego (mroute)
– używana przy podejmowaniu decyzji o przekazywaniu
ruchu dalej
23
© 2010 Cisco Systems, Inc. All rights reserved. Cisco Public
ruchu dalej
– składa się z wpisów (*, G) i (S, G)
– każdy wpis zawiera informację RPF
• interfejs „wejściowy”
• sąsiad RPF (router upstream)
– każdy wpis zawiera interfejsy wyjściowe
• OIL (Outgoing Interface List) – może być pusty (NULL)
- 24. R2# show ip mroute
Flags: D - Dense, S - Sparse, B - Bidir Group, s - SSM Group, C - Connected,
L - Local, P - Pruned, R - RP-bit set, F - Register flag,
T - SPT-bit set, J - Join SPT, M - MSDP created entry,
X - Proxy Join Timer Running, A - Candidate for MSDP Advertisement,
U - URD, I - Received Source Specific Host Report
Outgoing interface flags: H - Hardware switched
Timers: Uptime/Expires
Interface state: Interface, Next-Hop or VCD, State/Mode
Przykład stanu tabeli mroute
24
© 2010 Cisco Systems, Inc. All rights reserved. Cisco Public
Interface state: Interface, Next-Hop or VCD, State/Mode
(*, 224.1.1.1), 2w1d/00:00:00, RP 172.16.25.1, flags: SJC
Incoming interface: Serial0/1, RPF nbr 172.16.4.1
Outgoing interface list:
Ethernet0/1, Forward/Sparse-Dense, 2w1d/00:01:40
Serial0/0, Forward/Sparse-Dense, 00:4:52/00:02:08
(172.16.8.2, 224.1.1.1), 00:00:10/00:02:59, flags: CJT
Incoming interface: Serial0/1, RPF nbr 172.16.4.1
Outgoing interface list:
Ethernet0/1, Forward/Sparse-Dense, 00:00:10/00:02:49
Serial0/0, Forward/Sparse-Dense, 00:4:52/00:02:08
- 25. Protokoły PIM
Tryb dense (gęsty) PIM-DM
– używa modelu w którym ruch wysyłany jest domyślnie do
wszystkich i zatrzymywany dopiero gdy wprost sobie to
zażyczymy
– cykl się powtarza (domyślnie w ciągu 3 minut)
Tryb rzadki (sparse) PIM-SM
25
© 2010 Cisco Systems, Inc. All rights reserved. Cisco Public
– używa modelu w którym ruch wysyłany jest tylko na żądanie
– wprost sygnalizowana chęć dołączenia do drzewa dystrybucji
– używa Rendezvous Point (RP) - nadawcy i odbiorcy „spotykają
się” w tym punkcie by powiadomić się o swoim istnieniu
– różne warianty:
• ASM - Any Source Multicast/RP/SPT/drzewo współdzielone
• SSM - Source Specific Multicast, brak RP, tylko drzewo źródłowe (SPT)
• BiDir - Bidirectional PIM, brak SPT, tylko drzewo współdzielone
- 26. Protokół PIM-Sparse Mode
Rejestracja odbiorcy
RP
26
© 2010 Cisco Systems, Inc. All rights reserved. Cisco Public
Odbiorca
(*, G) Join
Drzewo współdzielone
Stan (*, G) tworzony
tylko wzdłuż gałęzi
drzewa
współdzielonego
- 27. Protokół PIM-Sparse Mode
Rejestracja nadawcy (1)
RP
10.2.2.2Źródło
10.0.0.1
DA = 239.10.244.1
SA = 10.0.0.1
DA = 239.10.244.1
SA = 10.0.0.1
DA = 10.2.2.2
SA = 10.0.0.1
DA = 239.10.244.1
SA = 10.0.0.1
27
© 2010 Cisco Systems, Inc. All rights reserved. Cisco Public
Odbiorca
239.10.244.1(S, G) Join
(S, G) Register (unicast)
Stan (S, G) tworzony
tylko wzdłuż gałęzi
drzewa źródłowego
Ruch multicast
Drzewo współdzielone
Drzewo źródłowe
DA = 239.10.244.1
SA = 10.0.0.1
- 28. Protokół PIM-Sparse Mode
Rejestracja nadawcy (2)
RP
10.2.2.2Źródło
10.0.0.1
DA = 239.10.244.1
SA = 10.0.0.1
DA = 239.10.244.1
SA = 10.0.0.1
28
© 2010 Cisco Systems, Inc. All rights reserved. Cisco Public
Odbiorca
239.10.244.1
Drzewo współdzielone
Drzewo źródłowe RP wysyła wiadomość
Register-Stop do routera
źródłowego
(S, G) Register-Stop (unicast)
Ruch multicast
(S, G) Register (unicast)
Ruch (S, G) dociera do RP
poprzez drzewo źródłowe
DA = 239.10.244.1
SA = 10.0.0.1
- 29. Protokół PIM-Sparse Mode
Rejestracja nadawcy (3)
RP
10.2.2.2Źródło
10.0.0.1
DA = 239.10.244.1
SA = 10.0.0.1
DA = 239.10.244.1
SA = 10.0.0.1
29
© 2010 Cisco Systems, Inc. All rights reserved. Cisco Public
Odbiorca
239.10.244.1
Ruch multicast
Ruch multicast jest
przesyłany do RP wzdłuż
drzewa źródłowego
Do odbiorców ruch dociera
od RP poprzez drzewo
współdzielone
Drzewo współdzielone
Drzewo źródłowe
DA = 239.10.244.1
SA = 10.0.0.1
- 30. Protokół PIM-Sparse Mode
Przełączanie na drzewo źródłowe (1)
RP
10.2.2.2Źródło
10.0.0.1
DA = 239.10.244.1
SA = 10.0.0.1
DA = 239.10.244.1
SA = 10.0.0.1
30
© 2010 Cisco Systems, Inc. All rights reserved. Cisco Public
Odbiorca
239.10.244.1
(S, G) Join
Router odbiorcy znając
adres źródła wysyła w jego
kierunku PIM Join
Tworzony jest nowy stan
(S, G) wzdłuż gałęzi
drzewa źródłowego
Ruch multicast
Drzewo współdzielone
Drzewo źródłowe
DA = 239.10.244.1
SA = 10.0.0.1
- 31. Protokół PIM-Sparse Mode
Przełączanie na drzewo źródłowe (2)
RP
10.2.2.2Źródło
10.0.0.1
DA = 239.10.244.1
SA = 10.0.0.1
DA = 239.10.244.1
SA = 10.0.0.1
31
© 2010 Cisco Systems, Inc. All rights reserved. Cisco Public
Odbiorca
239.10.244.1
(S, G)RP-bit Prune
Ruch mutlicast zaczyna być
przesyłany wzdłuż gałęzi
nowego drzewa źródłowego
Wiadomość (S, G)RP-bit Prune
jest wysyłana wzdłuż starego
drzewa celem uniknięcia
duplikacji pakietów
Ruch multicast
Drzewo współdzielone
Drzewo źródłowe
DA = 239.10.244.1
SA = 10.0.0.1
- 32. Protokół PIM-Sparse Mode
Przełączanie na drzewo źródłowe (3)
RP
10.2.2.2Żródło
10.0.0.1
DA = 239.10.244.1
SA = 10.0.0.1
DA = 239.10.244.1
SA = 10.0.0.1
32
© 2010 Cisco Systems, Inc. All rights reserved. Cisco Public
Odbiorca
239.10.244.1
Ruch (S, G) jest przesyłany
do odbiorcy poprzez
optymalną ścieżkę (drzewo
źródłowe)
Ruch multicast
Drzewo współdzielone
Drzewo źródłowe
DA = 239.10.244.1
SA = 10.0.0.1
- 33. Protokół PIM-Sparse Mode
Przełączanie na drzewo źródłowe (4)
RP
10.2.2.2Źródło
10.0.0.1
DA = 239.10.244.1
SA = 10.0.0.1
DA = 239.10.244.1
SA = 10.0.0.1
33
© 2010 Cisco Systems, Inc. All rights reserved. Cisco Public
Odbiorca
239.10.244.1
Ruch (S, G) nie musi być
już odbierany przez RP
(nie ma innych
odbiorców) co jest
sygnalizowane za pomocą
wiadomości (S,G) Prune
Ruch multicast
(S, G) Prune
Drzewo współdzielone
Drzewo źródłowe
DA = 239.10.244.1
SA = 10.0.0.1
- 34. Protokół PIM-Sparse Mode
Przełączanie na drzewo źródłowe (5)
RP
10.2.2.2Źródło
10.0.0.1
DA = 239.10.244.1
SA = 10.0.0.1
DA = 239.10.244.1
SA = 10.0.0.1
34
© 2010 Cisco Systems, Inc. All rights reserved. Cisco Public
Odbiorca
239.10.244.1
Ruch (S, G) jest
transmitowany tylko i
wyłącznie w sposób
optymalny poprzez drzewo
źródłowe
Ruch multicast
Drzewo współdzielone
Drzewo źródłowe
DA = 239.10.244.1
SA = 10.0.0.1
- 35. Protokół PIM-Sparse Mode
Podsumowanie
Efektywny do dystrybucji multicastów dla rzadko
rozproszonych w sieci odbiorców
Zalety
– ruch wysyłany jest tylko do odbiorców, którzy wprost
wyrazili zainteresowanie treścią – oszczędzamy pasmo
35
© 2010 Cisco Systems, Inc. All rights reserved. Cisco Public
wyrazili zainteresowanie treścią – oszczędzamy pasmo
– może przełączyć sposób konstrukcji drzewa (a zatem –
ścieżkę przez sieć) dla źródeł nadających dużą ilość
danych
– niezależny od protokołu routingu unicastowego
- 36. Protokół PIM SSM - Source Specific Multicast
Po co w modelu ASM potrzebujemy współdzielonego drzewa?
– hosty i router, do którego są podłączone muszą nauczyć się, gdzie
znajduje się aktywne źródło ruchu dla grupy
A co gdybyśmy od razu znali adres źródła które chcemy
odbierać?
36
© 2010 Cisco Systems, Inc. All rights reserved. Cisco Public
host może użyć IGMPv3 by zasygnalizować zapotrzebowanie dla
konkretnej pary (S,G)
współdzielone drzewo i RP nie są w tej sytuacji potrzebne, różne
źródła mogą współdzielić ten sam numer grupy i nie przeszkadzać
sobie na wzajem
...tak powstał: Source Specific Multicast (SSM)
RFC 3569: An Overview of Source Specific Multicast (SSM)
- 37. Źródło
10.0.0.1
Odbiorca uczy się źródła i grupy
Wysyła join IGMPv3 (S,G)
Pierwszy router wysyła PIM Join
bezpośrednio do źródła
Tryb PIM Source Specific
DA = 239.10.244.1
SA = 10.0.0.1
Ruch jest
odrzucany
37
© 2010 Cisco Systems, Inc. All rights reserved. Cisco Public
Odbiorca 1
239.10.244.1
Zewnętrzne źródło
informacji o źródłach
Na przykład: serwer
WWW
IGMPv3 (S, G) Join
(S, G) Join
BA C D
FD
odrzucany
na A!
- 38. Tryb PIM Source Specific
Drzewo źródłowe powstaje
bez udziału drzewa
współdzielonego
Źródło
10.0.0.1
DA = 239.10.244.1
SA = 10.0.0.1
38
© 2010 Cisco Systems, Inc. All rights reserved. Cisco Public
Odbiorca 1
239.10.244.1
B
F
A C D
E
DA = 239.10.244.1
SA = 10.0.0.1
DA = 239.10.244.1
SA = 10.0.0.1
- 39. PIM SSM
Podsumowanie
Idealny dla aplikacji, w których jedno źródło wysyła do wielu
odbiorców
Używa uproszczonego protokołu PIM-SM
„Rozwiązuje” problem przydziału adresów multicastowych
– ruch danych oddzielony zarówno przez źródło jak i grupę (nie tylko przez
39
© 2010 Cisco Systems, Inc. All rights reserved. Cisco Public
– ruch danych oddzielony zarówno przez źródło jak i grupę (nie tylko przez
grupę jak w przypadku SM)
– dostawcy treści mogą używać tych samych numerów grup – (S,G) jest
unikalne
Umożliwia lepsze zapobieganie atakom DoS
– „fałszywe” źródło ruchu nie może nadawać do grupy – nawet jeśli będzie
nadawać, być może nie trafi w konkretną parę (S,G)
- 40. A co z ruchem multicast typu wiele-do-
wielu?
Tworzy ogromne tablice (S,G)
– problem z utrzymaniem dużych tablic stanów
multicastowych staje się złożony nawet dla platform z
szybką pamięcią podręczną
– duża ilość interfejsów wyjściowych (OIL) pogarsza problem
w platformach sprzętowych
40
© 2010 Cisco Systems, Inc. All rights reserved. Cisco Public
w platformach sprzętowych
Użycie drzew współdzielonych nieco łagodzi problem
– redukcja ilości stanów (S, G)
– stan (S, G) tylko wzdłuż drzewa źródłowego do RP
– niestety nadal zwykle oznacza to zbyt dużo wpisów (S, G)
- 41. Bidirectional PIM—Jak to wygląda?
RP Nadawca/
41
© 2010 Cisco Systems, Inc. All rights reserved. Cisco Public
Odbiorca
RP
Współdzielone drzewo
Nadawca/
odbiorcaOdbiorca
- 42. Bidirectional PIM—Jak to wygląda?
RP Nadawca/
Odbiorca/Nadawca
10.1.0.1
(10.0.0.1, 239.10.244.1)
(10.1.0.1, 239.10.244.1)
(10.2.0.1, 239.10.244.1)
(*, 239.10.244.1)
42
© 2010 Cisco Systems, Inc. All rights reserved. Cisco Public
Odbiorca/Nadawca
10.2.0.1, 239.10.244.1
RP
Wspóldzielone drzewo
Ruch ze źródła
Ruch ze źródła przekazywany
dwukierunkowo przy pomocy
stanu (*,G)
Nadawca/
odbiorca
10.0.0.1
239.10.244.1
10.1.0.1
239.10.244.1
- 43. Bidir PIM
Podsumowanie
W znaczny sposób minimalizuje ilość wpisów w
tablicy multicastowej
– eliminuje wszystkie stany (S,G) w sieci
• drzewa współdzielone między źródłami i RP również są
wyeliminowane
43
© 2010 Cisco Systems, Inc. All rights reserved. Cisco Public
• ruch ze źródła trafia zarówno „w górę” jak i „w dół” drzewa
współdzielonego
– aplikacje wiele-do-wielu mogą się łatwo skalować
• dowolna liczba źródeł nie wprowadza dodatkowego
obciążenia dla sieci
- 45. Skąd sieć wie gdzie jest RP?
Konfiguracja statyczna
– ręcznie na każdym routerze w domenie PIM
AutoRP
– rozwiązanie firmowe Cisco
– pozwoliło rozpowszechnić zastosowanie PIM-SM
45
© 2010 Cisco Systems, Inc. All rights reserved. Cisco Public
– pozwoliło rozpowszechnić zastosowanie PIM-SM
PIMv2 BSR
– draft-ietf-pim-sm-bsr – „standard”
- 46. G
BSR—z 10,000 metrów
C-BSR
46
© 2010 Cisco Systems, Inc. All rights reserved. Cisco Public
E
A
B C
C-BSR
F
C-BSR
D
C-BSR
BSR Msgs
Wiadomości BSR są przekazywane
hop-by-hop
- 47. G
BSR—z 10,000 metrów
C-BSR z najwyższym
priorytetem zostaje BSRem
47
© 2010 Cisco Systems, Inc. All rights reserved. Cisco Public
E
A
B C
BSRBSR
FD
- 49. G
BSR—z 10,000 metrów
49
© 2010 Cisco Systems, Inc. All rights reserved. Cisco Public
FD
C-RP C-RP
E
A
BSR Msgs
BSR rozgłasza RP-Set
(224.0.0.13)
B C
BSRBSR
- 51. Label Switched Multicast
pakiety multicastowe IP transportowane z wykorzystaniem
enkapsulacji mpls (RFC5332)
etykiety przydzielane są z tej samej puli (etykiety są globlane)
alokacja etykiet odbywa się za pomocą RSVP-TE bądź LDP
które zostały zmodyfikowane by wspierać ścieżki LSP typ P2MP,
MP2MP
51
© 2010 Cisco Systems, Inc. All rights reserved. Cisco Public
MP2MP
Zalety
współdzielenie control plane z ruchem unicast
ten sam paradygmat przesyłu poprzez sieć
możliwość wykorzystania funkcjonalności takich jak
Fast ReRoute (FRR)
rezerwacja pasma
- 52. MLDP P2MP - Sygnalizacja
Liść
CE
Odbiorca
CE
Odbiorca
Label
Mapping
52
© 2010 Cisco Systems, Inc. All rights reserved. Cisco Public
Router
Wejściowy
(Root)
Liść
Liść
CE
CE
Odbiorca
Źródło
1. Routery wyjściowe (liście) otrzymują komunikat PIM Join
2. Przesyłaja komunikat label mapping poprzez MLDP i sieć do routera
wejściowego (root)
3. Router wejściowy otrzymuje pojedyncze uaktualnienie MLDP
- 53. MLDP P2MP – Stany w sieci
Liść
Liść CE
Odbiorca
CE
Odbiorca
P
PE
53
© 2010 Cisco Systems, Inc. All rights reserved. Cisco Public
Router
Wejściowy
(Root)
Liść
Liść
CE
Odbiorca
Źródło
1. Control Plane: 1 P2MP LSP
2. DataPlane: 1 P2MP LSP (replikacja)
3. Kiedy router wyjściowy nie chce już dłużej otrzymywać ruchu
multicastowego wysyła odpowiedni komunikat do routera P
- 54. MLDP MP2MP - Sygnalizacja
Liść
CE
Odbiorca/
Nadawca
CE
Label Mapping
DO root’a
Odbiorca/
Nadawca
Nadawca/Odbiorca
54
© 2010 Cisco Systems, Inc. All rights reserved. Cisco Public
Router
Wejściowy
(Root)
Liść
Liść
CE
CE
Odbiorca/
Nadawca
1. Router wyjściowy wysła komunikat MLDP label mapping do routera
wejśćiowego (dokładnie tak jak w P2MP)
2. Na każdym łączu, wiadomość label mapping jest przesyłana w
odwrotnym kierunku tworząc dwukierunkową ścieżkę MP2MP LSP
Label Mapping
OD root’a
- 55. RSVP-TE - Sygnalizacja
Liść CE
Odbiorca
CE
Odbiorca
BGP Auto Discovery
bądź konfiguracja statyczna
55
© 2010 Cisco Systems, Inc. All rights reserved. Cisco Public
Router
Wejściowy
(Root)
Liść
Liść
CE
CE
Odbiorca
Źródło
1. Router wyjściowy wysyła wiadomość BGP Auto Discovery do routera
wejściowego
2. Router wejściowy (root) wysyła wiadomość typu RSVP-TE Path do routerów
wyjściowych
3. Routery wyjściowe odpowiadają za pomocą wiadomości RSVP-TE Resv
(standardowy sposób działania RSVP)
Resv Path
- 56. RSVP-TE - Stany w sieci
Liść CE
Odbiorca
CE
Odbiorca
P
PE
56
© 2010 Cisco Systems, Inc. All rights reserved. Cisco Public
Router
Wejściowy
(Root)
Liść
Liść
CE
CE
Odbiorca
Źródło
1. Control Plane: 3 P2P sub-LSP od routera wejściowego do wyjściowego
2. Data Plane: 1 P2MP (replikacja)
3. Kiedy router wyjściowy nie chce już odbierać ruchu multicastowego, wysyła
wiadomość kontrolną do routera wejściowego celem usunięcia LSP do
niego
- 57. Mulitcast w praktyce
– czyli co warto
robić a o czym
57
© 2010 Cisco Systems, Inc. All rights reserved. Cisco Public
robić a o czym
zapomnieć
- 58. Praktyczne porady
Który PIM?
SSM dla aplikacji jeden do wielu - uproszczenie sieci, brak RP
BiDir dla aplikacji wiele do wielu (np. mVPN, OTV) – redukcja ilości stanów
w sieci
ASM do każdego innego zastosowania
Mutlicast w MPLS
mLDP dla aplikacji wiele do wielu (np. mVPN)
58
© 2010 Cisco Systems, Inc. All rights reserved. Cisco Public
mLDP dla aplikacji wiele do wielu (np. mVPN)
P2MP TE dla aplikacji jeden do wielu
Konwergencja sieci mulitcast zależy od konwegencji sieci
unicast!
Nie zapomnij o bezpieczeństwie w sieci mulitcast!
Zabezpiecz się zarówno od strony odbiorców jak i źródeł
Jeśli to konieczne chroń treści które przesyłasz
Nie zapominaj o atakach DoS (w tym na L2) które ze wzgledu na naturę
routingu multicastowego (utrzymywanie stanów) w niezabezpieczonej sieci
dosyć łatwo przeprowadzić
- 60. Podsumowanie
Mutlicast stanowi coraz znaczniejszą część ruchu przesyłanego
w sieciach IP – przekazy na żywo, TV, aplikacje biznesowe to
tylko niektóre przykłady usług, z których korzystamy na co dzień
Wszystkie mechanizmy, protokoły i funkcjonalności wymagane
do skutecznej implementacji sieci mutlicastowej są w fazie
swojej dojrzałości i stabilności
60
© 2010 Cisco Systems, Inc. All rights reserved. Cisco Public
swojej dojrzałości i stabilności
Dziękuję za uwagę!